package com.woniuxy.project115.kaer.mall.service;

import com.woniuxy.project115.kaer.mall.entity.ProductInfo;
import com.woniuxy.project115.kaer.mall.entity.ProductOrderInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.project115.kaer.mall.param.OrderParam;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 订单详情表 服务类
 * </p>
 *
 * @author lyc
 * @since 2025年02月17日
 */
public interface ProductOrderInfoService extends IService<ProductOrderInfo> {

    String pay(String orderNum, Integer userId) throws Exception;

    ProductOrderInfo order(OrderParam param) throws Exception;

    void updateOrder(String orderNum, String payTime);

    void cancelOrder(String orderNum,Integer operateId) throws Exception;

    void handleOrder(Map<String, String> params) throws Exception;

    void updateRemarks(String orderNum, String remarks);

    List<ProductOrderInfo> getMyUnpaidOrder(Integer userId);

    List<ProductOrderInfo> getMyUnshippedOrder(Integer userId);

    List<ProductOrderInfo> getMyUnreceivedOrder(Integer userId);

    List<ProductOrderInfo> getMyUncommentOrder(Integer userId);

    List<ProductOrderInfo> getMyCompletedOrder(Integer userId);

    void urge(String orderNum, Integer userId);

    void confirm(String orderNum, Integer userId) throws Exception;

    void rollbackOrderStatus(String orderNum) throws Exception;

    void send(String orderNum);

    List<ProductOrderInfo> getAllOrder();
}
